package com.google.code.p.narcissus.core;

import com.google.code.p.narcissus.core.model.ComparisonResult.PictureComparisonResult;

public interface IScreenShooter {

	/**
	 * Verify the screenshot taken of an element whose locator is passed in parameter to a screenshot previously taken of that element.
	 * <p>
	 * If no screenshot with the name passed in parameter was taken yet, the screenshot taken is saved as the reference picture.
	 * </p>
	 * <p>
	 * As a detail, note that a result of the comparison is saved to an XML file whatever the result.<br />
	 * Also, the screenshot of the element is saved only if there is at least one difference.
	 * </p>
	 * 
	 * @param elementLocator
	 *            the <code>Selenium</code> locator to the element to take a screenshot of
	 * @param screenshotName
	 *            the name of the screenshot to take
	 */
	public PictureComparisonResult verifyGuiElement(String elementLocator, String screenshotName) throws NarcissusException;

}